#ifndef MUSICLIST_H
#define MUSICLIST_H

#include <QVector>
#include <QString>
#include <QUrl>
#include <QList>
#include <QMimeDatabase>
#include "music.h"
#include <QSqlQuery>
#include <QSqlError>
#include <QSet>


typedef QVector<Music>::iterator  iterator;

class MusicList
{
public:
    MusicList();

    void  addMusicsByUrl(const QList<QUrl>&urls);

    QVector<Music> getMusicList();

    iterator begin();
    iterator end();

    iterator findMusicByMusicId(const QString&musicId);
    void removeMusicByMusicid(const QString &musicId);

    void writeMusicToDB();
    void readMusicFromDB();

private:
     QVector<Music> musicList;

     QSet<QString> musicPaths;
};

#endif // MUSICLIST_H
